※以下內容皆是新手撰寫,內容可能不完全正確
寫完某寫作課的textual analysis之後,覺得這篇寫起來特別輕鬆~什麼東西都是相對了。
這篇要講的是C#裡面的 迴圈(loops) ;當你寫程式需要把某個東西重複執行很多次的時候,可以土法煉鋼慢慢用Console.WriteLine( )條列,或者用比較簡單的方式:迴圈。今天要談的是 while、do… while、for和foreach ,以及 控制迴路的敘述(loop control statement)break跟continue 。
迴圈大概的結構如下(又是我畫的醜圖(^_^)):
如果一個迴圈一直未達到跳出迴圈的條件,就稱作 無限迴圈(infinite loop) 。
while迴圈(while loop)
當條件還成立,while就會不停的重複執行迴圈內的程式碼。假如我要把某好友列表上的8個好友刪光,可以用下面的while迴圈解決;當名單好友人數尚大於0,就繼續刪除好友,好友人數等於0的時候便會跳出迴圈,跳出迴圈才印出「沒朋友了!」:
int friends = 8;
while (friends > 0)
{
friends = friends - 1;
Console.WriteLine($"friends left on list: {friends}");
}
Console.WriteLine("NO MORE FRIENDS!");
do… while迴圈(do… while loop)
do… while迴圈和while迴圈的差別在於do… while會先在沒有經過判斷條件的情況下執行一次迴圈裡的程式碼,因此,一定要先執行一次的程式中可以用do… while寫。相信各位都有遇過雷隊友/雷組員~假如我要至少要提醒組員寫作業一次,那麼可以用do… while呈現:turnInHomework(繳作業)只要是false(while(!turnInHomework)),程式就會一直輸出「FINISH THE ASSIGNMENT!」,直到turnInHomework變成true。變成true之後會跳出迴圈,並輸出「你終於把你的工作做完了。」:
bool turnInHomework = true;
do
{
Console.WriteLine("FINISH THE ASSIGNMENT!");
}while(!turnInHomework);
Console.WriteLine("You finally finished your job.");
for迴圈(for loop)
當確定要執行某段程式碼的次數,則適合用for迴圈。若我想要罵一個人100次但懶得一條一條打,我可以用for迴圈執行。for後面第一格是初始值,中間是判斷條件,若條件屬實,就會執行第三格裡面的動作(x + 1),執行到x大於等於101,執行當中印出100次的「你很笨。」:
for(int x=1; x<101; x++)
{
Console.WriteLine("You are not very intelligent.");
}
foreach迴圈(foreach loop)
foreach迴圈通常是用來把一個集合或列表裡的東西全部跑一遍。若我要把一個成績列表裡面的每個成績都輸出一遍,會用foreach處理。grades陣列中有六個成績,這個時候不用什麼特別的條件,在grades陣列裡的每個int grade都會輸出一次:
int[] grades = {87, 91, 65, 59, 80, 23};
foreach(int grade in grades)
{
Console.WriteLine(grade);
}
break; :在迴圈裡加上{break;},條件成立時,變會跳出迴圈。
continue; :跟break相反,在迴圈裡面加上{continue;}會讓上面的程式碼執行到條件不成立為止。
Loop到頭都昏了~今天先這樣ㄅ,明天的主題是封裝喔喔喔喔(ㄎㄧㄤ